# Spring-AOP

Реализация системы учета времени выполнения методов

Описание:
разработана система учета времени выполнения методов в приложении с использованием Spring AOP.
 Система способна как синхронно, так и 
асинхронно логировать и анализировать данные о времени выполнения методов.

Определены кастомные аннотации *@TrackTime* и *@TrackAsyncTime*, которые можно применять к методам для отслеживания времени 
их выполнения.
Реализованы аспекты(используя Spring AOP) для асинхронного и синхронного отслеживания времени выполнения
 методов, помеченных соответствующими аннотациями.
Сервис будет асинхронно сохранять данные о времени выполнения методов в базе данных.
Реализованно REST API для получения статистики по времени выполнения методов (например, среднее время 
выполнения, общее время выполнения) для определенных target-методов и их групп.
Приложение настроено с помощью конфигурации Spring для включения использования AOP и асинхронной обработки 
данных.


Корректно определены точки среза для методов, помеченных аннотациями *@TrackTime* и *@TrackAsyncTime*.
А также обработка исключений и ошибок в аспектах.

Обработка асинхронных вызовов:
Асинхронное отслеживание времени выполнения методов, помеченных аннотацией *@TrackAsyncTime*.
Корректная обработка результатов асинхронных операций.

Хранение и анализ данных:
Реализован сервис для асинхронного сохранения данных о времени выполнения методов в базе данных.
Корректное хранение данных в базе данных.
Реализован механизм анализа данных для получения статистики по времени выполнения методов.


